IBIS Macromodel Task Group Meeting date: 16 March 2021 Members (asterisk for those attending): Achronix Semiconductor Hansel Dsilva ANSYS: * Curtis Clark * Wei-hsing Huang Cadence Design Systems: * Ambrish Varma Ken Willis * Jared James Google: Zhiping Yang Intel: Michael Mirmak Kinger Cai Alaeddin Aydiner Keysight Technologies: * Fangyi Rao * Radek Biernacki Ming Yan * Todd Bermensolo Rui Yang Luminous Computing * David Banas Marvell Steve Parker Micron Technology: * Randy Wolff * Justin Butterfield Missouri S&T Chulsoon Hwang Siemens EDA (Mentor): * Arpad Muranyi SiSoft (Mathworks): * Walter Katz Mike LaBonte Teraspeed Labs: * Bob Ross Zuken USA: * Lance Wang The meeting was led by Arpad Muranyi. Curtis Clark took the minutes. -------------------------------------------------------------------------------- Opens: - None. ------------- Review of ARs: - Walter to send his latest Simpler Redriver Flow presentation to the ATM list. - Done. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: Arpad asked for any comments or corrections to the minutes of the March 9th meeting. Walter moved to approve the minutes. Ambrish seconded the motion. There were no objections. ------------- New Discussion: Redriver Flow Issues: Walter shared a new "Merged_166_210" presentation. - slide 1 Walter said he wanted to define a flow that works with legacy models, doesn't require a new parameter, has no AMI_Init signature change (impulse matrix size change), and requires no changes to model generation tools. - slide 2 - Current IBIS 7.0 redriver flows Block diagram of the Init flow for column 1 of the impulse matrix. Block diagram of the GetWave flow. - slide 3 - Alternative Init Flows - row 1 - IBIS 7.0 incorrect flow. - row 2 - Hybrid - row 3 - BIRD210 - row 4 - BIRD166.4 Black lines represent through channel (insertion loss channel) responses. Red arrows represent impulse responses from aggressor Txs to the Rx. Blue arrows represent impulse responses to victim Rxs from the Tx. - slide 4 - Fundamental Questions - What input impulse matrix is required for each Init call? - What output impulse matrix is required for each Init call? - Can the EDA tool add additional aggressor columns to the matrix? Walter emphasized that the flow for the aggressor columns need not be identical to the flow for the through channel column (column 1). - slide 5 - Init "must" apply LTI equalization to all crosstalk columns. In response to a question at the previous meeting about whether the model could be relied upon to apply its equalization to all of the crosstalk terms, this slide quotes language from the specification confirming that it is required to do so. pgs. 201,202: If present, any filtering in the transmitter and/or receiver AMI_Init function(s) must also be applied to the crosstalk impulse responses to properly account for the crosstalk effects. pg. 205: Init_Returns_Impulse When the Boolean_literal value is set to “True”, the model returns the convolution of the impulse response with the impulse response of the equalization. Walter said the specification doesn't really define "properly account for the crosstalk effects," but he interprets it to mean that LTI effects in the terminal Rx are applied to crosstalk responses, but DFE is not. He said we might want to add some clarifying language to the specification. - slide 6 - Crosstalk diagram for two aggressor channels and one victim channel. Walter briefly reviewed the crosstalk flow. He noted that each of the channels will have a through channel impulse response and crosstalk impulse responses to the other channels. Each Tx's equalization must be applied to its through channel and aggressors IRs. For the crosstalk IRs, the tool can do that two ways. If the tool knows the Tx's equalization response, it could do the convolution with the crosstalk IRs itself. Alternatively, the tool can put the aggressor IRs in the impulse response matrix when it calls Init, and the model will apply the equalization to them. Walter said it's up to the EDA tool to get those crosstalk terms right and ultimately get the right crosstalk entries into the impulse matrices passed to the Init functions for the Rxs. Walter noted that the Txs shown in this example would not operate any differently if they received the crosstalk terms as inputs or not. He said that Fangyi has some comments with respect to that assumption for redriver Txs. - slide 7 - Flow comparison for the upstream channel of the redriver flow. Two block diagrams for alternative flows. - first row - IBIS 7.0 legacy flow - "upstream" channel (which is the channel downstream of the Tx1) is passed into Tx. - Allows Tx1 to optimize the eye at the input to Rx1, though few if any initial Tx models do so. - second row - BIRD210 flow (for the new column containing cumulative upstream response). - Unit IR is passed to Tx1 and the output is convolved with the upstream channel IR and passed to Rx1. After discussion of this slide, Walter confirmed that everyone agrees that the two flows on this page produce identical results as long as the Tx1 does not want to optimize itself based on its downstream channel (the upstream channel in the redriver flow). No one objected to this statement. Fangyi said that there are redriver Txs that will need to know both their upstream and downstream IRs to work properly. Walter said he was only talking about the initial Tx in this slide. Fangyi said he thought the impulse matrix column layout should be the same for all Txs. Walter asked why, and said he wanted to come up with a flow that handled everything with legacy models and minimal changes (see slide 1) when possible. slide 9 - Flow comparison - What does the Redriver Tx need? Three possibilities shown: - Tx2 gets the output of Rx1 convolved with the downstream channel as its input. - Tx2 gets the output of Rx1 as its input. - Tx2 only gets the downstream channel response (IBIS 7.0 legacy flow). Walter said with the legacy flow the Tx2 can't really do any sensible optimization. It can't optimize for the eye at Rx2 because it would also need to know the Rx1 output as well. Walter said the case where the output of Rx1 is convolved with the downstream channel and passed into Tx2 is the only one where Tx2 has enough to optimize for the eye at Rx2. Fangyi said the slide was missing the BIRD210 case, in which the Tx2 gets the upstream and downstream impulse responses as separate columns in the impulse matrix. Fangyi said having them convolved together and passed in as a single IR in a single column doesn't work. If the Tx2 doesn't have the upstream IR, it can't estimate its input signal. So, it can't adjust the input gain to minimize compression, the output gain to compensate for compression, etc. David asked if Fangyi was referring to a device with an AGC that needs to know the amplitude of its input signal. Fangyi agreed. David said this seemed counter to his understanding of the AMI_Init function and an implied LTI assumption. Fangyi said this was an important point. The signal simulation in the Init flow is based on IRs and the LTI assumption. But here we are talking about what the Tx2 AMI_Init function does given its inputs. The Init function needs to know its input signal's magnitude and know about its own non-linear region so it can optimize its gain. Fangyi said the Init function itself can do lots of non-linear things. Walter added that if you have a CTLE in an Init flow, you want to make sure you pick a CTLE setting that does not saturate. If Init picked a CTLE setting that did saturate, then the Init flow would fail. Walter suggested the case where the output of Rx1 is the input to Tx2. He said this would give the Tx2 everything it needs except that it wouldn't be able to optimize based on the downstream channel. Fangyi agreed, but he said he could show cases where Tx2 needs both the upstream and downstream IRs, as provided by BIRD210. Walter agreed, but he said the only time you need the downstream channel IR as an input to Tx2 is when the Tx2 model wants to optimize based on the downstream channel. He suggested that we could find a solution where you add an additional column and a new Reserved Parameter only for the case that needs it, a redriver Tx that wants to optimize based on the downstream channel. Walter and Fangyi modified and combined the flows on page 3. Walter ended up with a flow in which the initial Tx takes its downstream channel's IR as its input, then every other model in the flow gets its cumulative upstream IR as its input. He said this works for legacy models and works for every case except when the redriver Tx wants to optimize based on its downstream channel. If the redriver Tx wants to optimize based on the downstream channel, then the flow is the same except that an extra column is added to the impulse matrix passed to the redriver Tx, and the EDA tool puts the downstream IR in that extra column. A new Reserved Parameter would be added to such a Tx model so the tool knows it has this capability. The tool could choose to set it to True or False. (see slides 13, 14 in the presentation emailed after the meeting). Arpad asked about the order of the columns that would be input to the redriver Tx in this new special case where it needs an extra column. Walter said that's a detail we can work out. He said he'd prefer that the primary column (column 1) has the full upstream channel information. Walter said this new flow meant no signature change for most cases and no change to AMI generation tools unless they wanted to support a redriver Tx model that optimized based on the downstream channel. Fangyi observed that Walter's new flow may not change the size of the impulse matrix, but it is putting new stuff in the first column. Fangyi said BIRD210 keeps the legacy information in column 1 and adds new columns for the new information. With BIRD210 all the information needed is always available. Walter said he would send out an updated presentation. Curtis noted that on slide 3 it was actually row 4, not row 2, that corresponded to BIRD166.4. Walter agreed. Walter said he would write up a new version of BIRD210 to capture the new hybrid BIRD166-BIRD210 flow. - Ambrish: Motion to adjourn. - Curtis: Second. - Arpad: Thank you all for joining. AR: Walter to send his updated Merged_166_210 presentation to the ATM list. AR: Walter to draft a BIRD210.1 proposal. ------------- Next meeting: 23 March 2021 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives